$(function () {

    // 编辑页的id获取
    let id = location.search.split('=')[1]
    if (id) {
        setTimeout(() => {
            $.ajax({
                url: bignews.article_search,
                headers: { 'Authorization': localStorage.getItem('bignews_69_token') },
                data: { id },
                dataType: 'json',
                success: function (res) {
                    console.log(res);
                    $('#inputTitle').val(res.data.title)
                    $('.article_cover').attr('src', res.data.cover)
                    // 下拉菜单的赋值

                    $('.category').val(res.data.categoryId)

                    $('#postDate').val(res.data.date)
                    // 获取富文本框内容，两种方式
                    // console.log(res.data.content, $('#mytextarea'));
                    // $('#mytextarea').html(res.data.content)
                    // 添加延时，为了能够让下面数据加载完
                    setTimeout(() => {
                        tinymce.activeEditor.setContent(res.data.content)

                    }, 300);

                }
            })
        }, 100);
    }



    $.ajax({
        url: bignews.category_list,
        // data: { page: 1, perpage: 20 },
        headers: { 'Authorization': localStorage.getItem('bignews_69_token') },
        dataType: 'json',
        success: function (res) {
            // console.log(res);
            $('.category').html(template('cateTemp', res))
        }
    })

    // 日期插件的添加
    jeDate("#postDate", {
        // 设置默认日期
        isinitVal: true,
        maxDate: new Date().toLocaleDateString(),
        // 设置双页显示
        multiPane: false,
        theme: { bgcolor: "#D91600", pnColor: "#FF6653" },
        // 日期样式
        format: "YYYY-MM-DD"
    });

    // 富文本框的使用
    tinymce.init({
        language: 'zh_CN',
        height: '350px',
        selector: '#mytextarea',
        plugins: [
            "advlist autolink lists link image charmap print preview anchor",
            "searchreplace visualblocks code fullscreen",
            "insertdatetime media table contextmenu paste imagetools wordcount",
            "code"
        ],
        // 工具栏
        toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | code",
    });


    // 文件预览
    // 给文件添加change事件
    $('#inputCover').on('change', function () {
        // 获取到文件
        let myfile = $('#inputCover')[0].files[0]
        if (myfile.type.indexOf('image/') === -1) {
            alert('请选择图片文件')
            return
        }
        let myURL = URL.createObjectURL(myfile)
        $('.article_cover').attr('src', myURL)
    })



    // 文章发布的参数获取封装函数
    function publishPost(state) {


        formdata = new FormData()
        // 获取文章标题
        let title = $('#inputTitle').val()
        if (title.trim().length === 0) {
            alert('请输入标题')
            return
        }

        // 获取封面文件(记得获取文件是原生，要转成dom元素)
        let myfile = $('#inputCover')[0].files[0]

        // 如果没有id。是发布，正常判断文件
        if (!id) {
            if (!myfile) {
                alert('请选择文件')
                return
            }
            if (myfile.type.indexOf('image/') == -1) {
                alert('请选择图片文件')
                return
            }
            // 没有id要传入文件参数
            formdata.append('cover', myfile)

            // 有id且有文件且有图片格式是对的，就传入参数
        } else if (myfile && myfile.type.indexOf('image/') !== -1) {
            formdata.append('cover', myfile)
        } else if (myfile && myfile.type.indexOf('image/') === -1) {
            alert('请选择图片文件')
            return
        }


        // 获取文章类别
        let categoryId = $('.category').val() - 0


        // 获取日期值
        let date = $('#postDate').val()

        // 获取文本框内容
        let content = tinymce.activeEditor.getContent()
        if (content.length == 0) {
            alert('请输入内容')
            return
        }




        formdata.append('title', title)
        formdata.append('categoryId', categoryId)
        formdata.append('date', date)
        formdata.append('content', content)
        formdata.append('state', state)
        // 如果有id。是编辑，需要添加id参数
        if (id) {
            formdata.append('id', id)

        }


        $.ajax({
            type: 'post',
            // 判断是否有id，对应不同接口
            url: id ? bignews.article_edit : bignews.article_publish,
            headers: { 'Authorization': localStorage.getItem('bignews_69_token') },

            processData: false,
            contentType: false,
            data: formdata,
            dataType: 'json',
            success: function (res) {
                // console.log(res);
                alert(res.msg)
                location.href = './article_list.html'
            }
        })
    }

    // 文章发布
    $('.btn-release').on('click', function (e) {
        // 阻止默认事件（阻止刷新）
        e.preventDefault()
        publishPost('已发布')

    })

    // 存为草稿
    $('.btn-draft').on('click', function (e) {
        e.preventDefault()
        publishPost('草稿')
    })

})